package com.indusfo.spc.common.utlis;

import org.apache.log4j.Logger;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * @ClassName RegexUtils
 * @Desription 正则工具类
 * @Author yujn
 * @Date 2018/12/20 上午10:19
 **/
public class RegexUtils {

    private static Logger logger = Logger.getLogger(RegexUtils.class);

    /**
     * @Description: 将文件的后缀替换为指定后缀
     * @Params: [suffix]
     * @Returns: void
     * @author: 余家能
     * @date: 2018/12/20 上午10:37
     */
    public static String replaceSuffix(String path ,String suffix){

        int i = path.lastIndexOf(".");
        String substring = path.substring(0, i);
        String s = substring+suffix;
        logger.info("replacePath:"+s);
        return s;
    }

    /**
     * @Description: 通过文件全路径找根目录
     * @Params: [filePath]
     * @Returns: java.lang.String
     * @author: 余家能
     * @date: 2019/1/7 下午10:17
     */
    public static String getRootDirByFilePath(String filePath){
        int i = filePath.lastIndexOf("/");
        String substring = filePath.substring(0, i+1);
        logger.info("findRootDirByFilePath:"+substring);
        return substring;
    }

    /**  
     * @Description: 通过文件全路径找文件名 不带后缀
     * @Params: [filePath]
     * @Returns: java.lang.String
     * @author: 余家能
     * @date: 2019/1/7 下午10:20
     */
    public static String getFileNameByFilePath(String filePath){
        int i = filePath.lastIndexOf("/");
        int j = filePath.lastIndexOf(".");
        String substring = filePath.substring(i+1, j);
        logger.info("getFileNameByFilePath:"+substring);
        return substring;
    }


    /**
     * @Description: 是和否包含数字
     * @Params: [company]
     * @Returns: boolean
     * @author: 余家能
     * @date: 2019/1/11 下午9:16
     */
    public static boolean isContainNumber(String company) {

        Pattern p = Pattern.compile("\\d");
        Matcher m = p.matcher(company);
        if (m.find()) {
            return true;
        }
        return false;
    }

    /**
     * @Description: 是否为整数
     * @author: 余家能
     * @date: 2019/3/6 1:05 PM
     */
    public static boolean isNumeric(String str){
        return Pattern.compile("\\d+").matcher(str).matches();
    }

    /**
     * @Description: 是否包含英文
     * @Params: [company]
     * @Returns: boolean
     * @author: 余家能
     * @date: 2019/1/11 下午9:16
     */
    public static boolean isContainLetter(String company) {

        Pattern p = Pattern.compile("\\w");
        Matcher m = p.matcher(company);
        if (m.find()) {
            return true;
        }
        return false;
    }


    }
